home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / lang / amigatalk.lha / intuition / DataTypeTags.st < prev    next >
Text File  |  2002-03-15  |  21KB  |  604 lines

  1. " ------------------------------------------------------------------- "
  2. " DataTypesClassTags Class is a Singleton class that allows the user  "
  3. " to reference DataType class tags' hexadecimal values.               "
  4. ""
  5. " The User does NOT need to create one of these, since DataTypeSystem "
  6. " Class will instantiate the only needed instance of this Class.  See "
  7. " the DataTypeSystem.st source file for the method(s) that help the   "
  8. " User with this Class.                                               "
  9. ""
  10. "  EXAMPLE:  'myTag <- dataTypeSystem getDTClassTag: #DTST_FILE'      "
  11. ""
  12. " ALL singleton classes MUST contain the following:                   "
  13. ""
  14. "   the methods:  isSingleton AND privateSetup     AND                "
  15. "                 uniqueInstance Class instance variable.             "
  16. " ------------------------------------------------------------------- "
  17.  
  18. Class DataTypesClassTags :Dictionary ! uniqueInstance !
  19. [
  20.    isSingleton
  21.      ^ true  
  22. |  
  23.    privateNew ! newinstance !
  24.      newinstance <- super new.
  25.  
  26.      ^ newinstance
  27. |
  28.    new
  29.      ^ self privateSetup
  30. |
  31.    privateInitializeDictionary      "Too big to be in a Block:"
  32.  
  33.      self at: #DTST_RAM        put: 1.
  34.      self at: #DTST_FILE       put: 2.
  35.      self at: #DTST_CLIPBOARD  put: 3.
  36.      self at: #DTST_HOTLINK    put: 4.
  37.      self at: #DTST_MEMORY     put: 5.
  38.  
  39.      self at: #DTA_Dummy       put: 16r80001000.
  40.  
  41.      "Generic attributes"
  42.      "Pointer to the default TextAttr to use for
  43.      * the text within the object.
  44.      "
  45.      self at: #DTA_TextAttr    put: 16r8000100A.
  46.  
  47.      "Current top vertical unit:"
  48.      self at: #DTA_TopVert     put: 16r8000100B.
  49.  
  50.      "Number of visible vertical units:"
  51.      self at: #DTA_VisibleVert put: 16r8000100C.
  52.  
  53.      "Total number of vertical units:"
  54.      self at: #DTA_TotalVert   put: 16r8000100D.
  55.  
  56.      "Number of pixels per vertical unit:"
  57.      self at: #DTA_VertUnit    put: 16r8000100E.
  58.  
  59.      "Current top horizontal unit:"
  60.      self at: #DTA_TopHoriz    put: 16r8000100F.
  61.  
  62.      "Number of visible horizontal units:"
  63.      self at: #DTA_VisibleHoriz put: 16r80001010.
  64.  
  65.      "Total number of horizontal units:"
  66.      self at: #DTA_TotalHoriz   put: 16r80001011.
  67.  
  68.      "Number of pixels per horizontal unit:"
  69.      self at: #DTA_HorizUnit    put: 16r80001012.
  70.  
  71.      "Name of the current element within the object:"
  72.      self at: #DTA_NodeName     put: 16r80001013.
  73.  
  74.      "Title of the object:"
  75.      self at: #DTA_Title        put: 16r80001014.
  76.  
  77.      "Pointer to a NULL term'd array of trigger methods:"
  78.      self at: #DTA_TriggerMethods put: 16r80001015.
  79.  
  80.      "Object specific data:"
  81.      self at: #DTA_Data           put: 16r80001016.
  82.  
  83.      "Default font to use for text within the object:"
  84.      self at: #DTA_TextFont       put: 16r80001017.
  85.  
  86.      "Pointer to a ~0 terminated array of supported methods:"
  87.      self at: #DTA_Methods        put: 16r80001018.
  88.  
  89.      "Printer error message:"
  90.      self at: #DTA_PrinterStatus  put: 16r80001019.
  91.  
  92.      "Pointer to the print process:"
  93.      self at: #DTA_PrinterProc    put: 16r8000101A.
  94.  
  95.      "Pointer to the layout process:"
  96.      self at: #DTA_LayoutProc     put: 16r8000101B.
  97.  
  98.      "Used to turn the applications' busy pointer off/on:"
  99.      self at: #DTA_Busy           put: 16r8000101C.
  100.  
  101.      "Used to indicate that new information has been loaded into
  102.      * an object.  This is for models that cache the 
  103.      * DTA_TopVert-like tags:
  104.      "
  105.      self at: #DTA_Sync           put: 16r8000101D.
  106.  
  107.      "The base name of the class:"
  108.      self at: #DTA_BaseName       put: 16r80001E.
  109.  
  110.      "Group that the object must belong in:"
  111.      self at: #DTA_GroupID        put: 16r8000101F.
  112.  
  113.      "Error level:"
  114.      self at: #DTA_ErrorLevel     put: 16r80001020.
  115.  
  116.      "datatypes.library error number:"
  117.      self at: #DTA_ErrorNumber    put: 16r80001021.
  118.  
  119.      "Argument for datatypes.library error:"
  120.      self at: #DTA_ErrorString    put: 16r80001022.
  121.  
  122.      "New for V40. Specifies the name of the
  123.      * realtime.library conductor.   Defaults to 'Main'.
  124.      "
  125.      self at: #DTA_Conductor      put: 16r80001023.
  126.  
  127.      "New for V40. Indicate whether a control panel should be
  128.       * embedded within the object (in the animation datatype,
  129.       * for example).  Defaults to TRUE.
  130.      "
  131.      self at: #DTA_ControlPanel   put: 16r80001024.
  132.  
  133.      "New for V40. (BOOL) Indicate whether the object should
  134.       * immediately begin playing.  Defaults to FALSE.
  135.      "
  136.      self at: #DTA_Immediate      put: 16r80001025.
  137.  
  138.      "New for V40. (BOOL) Indicate that the object should repeat
  139.       * playing.  Defaults to FALSE.
  140.      "
  141.      self at: #DTA_Repeat         put: 16r80001026.
  142.  
  143.      "New for V44. Address of a DTST_MEMORY source type object:"
  144.      self at: #DTA_SourceAddress    put: 16r80001027.
  145.  
  146.      "New for V44. Size of a DTST_MEMORY source type object:"
  147.      self at: #DTA_SourceSize       put: 16r80001028.
  148.  
  149.      "Reserved tag; DO NOT USE (V44):"
  150.      self at: #DTA_Reserved         put: 16r80001029.
  151.  
  152.      "DTObject attributes:"
  153.      self at: #DTA_Name             put: 16r80001064.
  154.      self at: #DTA_SourceType       put: 16r80001065.
  155.      self at: #DTA_Handle           put: 16r80001066.
  156.      self at: #DTA_DataType         put: 16r80001067.
  157.      self at: #DTA_Domain           put: 16r80001068.
  158.  
  159.      "DON'T USE THE FOLLOWING FOUR TAGS.  Use the corresponding tags in
  160.      * Intuition/GadgetAttrs.st:
  161.      "
  162.      self at: #DTA_Left             put: 16r80001069.
  163.      self at: #DTA_Top              put: 16r8000106A.
  164.      self at: #DTA_Width            put: 16r8000106B.
  165.      self at: #DTA_Height           put: 16r8000106C.
  166.  
  167.  
  168.      self at: #DTA_ObjName          put: 16r8000106D.
  169.      self at: #DTA_ObjAuthor        put: 16r8000106E.
  170.      self at: #DTA_ObjAnnotation    put: 16r8000106F.
  171.      self at: #DTA_ObjCopyright     put: 16r80001070.
  172.      self at: #DTA_ObjVersion       put: 16r80001071.
  173.      self at: #DTA_ObjectID         put: 16r80001072.
  174.      self at: #DTA_UserData         put: 16r80001073.
  175.      self at: #DTA_FrameInfo        put: 16r80001074.
  176.  
  177.      "DON'T USE THE FOLLOWING FOUR TAGS.  Use the corresponding tags in
  178.      * Intuition/GadgetAttrs.st:
  179.      "
  180.      self at: #DTA_RelRight         put: 16r80001075.
  181.      self at: #DTA_RelBottom        put: 16r80001076.
  182.      self at: #DTA_RelWidth         put: 16r80001077.
  183.      self at: #DTA_RelHeight        put: 16r80001078.
  184.  
  185.      self at: #DTA_SelectDomain     put: 16r80001079.
  186.      self at: #DTA_TotalPVert       put: 16r8000107A.
  187.      self at: #DTA_TotalPHoriz      put: 16r8000107B.
  188.      self at: #DTA_NominalVert      put: 16r8000107C.
  189.      self at: #DTA_NominalHoriz     put: 16r8000107D.
  190.  
  191.      "Printing attributes:"
  192.      "Destination X width:"
  193.      self at: #DTA_DestCols         put: 16r80001190.
  194.  
  195.      "Destination Y height:"
  196.      self at: #DTA_DestRows         put: 16r80001191.
  197.  
  198.      "Option flags:"
  199.      self at: #DTA_Special          put: 16r80001192.
  200.  
  201.      "RastPort to use when printing. (V40):"
  202.      self at: #DTA_RastPort         put: 16r80001193.
  203.  
  204.      "Pointer to base name for ARexx port (V40):"
  205.      self at: #DTA_ARexxPortName    put: 16r80001194.
  206.  
  207.      self at: #DTST_RAM             put: 1.
  208.      self at: #DTST_FILE            put: 2.
  209.      self at: #DTST_CLIPBOARD       put: 3.
  210.      self at: #DTST_HOTLINK         put: 4.
  211.      self at: #DTST_MEMORY          put: 5. "New for V44"
  212. |
  213.    privateSetup
  214.      (uniqueInstance isNil)
  215.        ifTrue: [uniqueInstance <- self privateNew.
  216.  
  217.                 self privateInitializeDictionary
  218.                ].
  219.                
  220.      ^ self    "or ^ uniqueInstance??"
  221. ]
  222.  
  223. " ------------------------------------------------------------------- "
  224. " DTSpecialInfoTags Class is a Singleton class that allows the user   "
  225. " to reference DataType SpecialInfo tags' hexadecimal values.         "
  226. ""
  227. " The User does NOT need to create one of these, since DataTypeSystem "
  228. " Class will instantiate the only needed instance of this Class.  See "
  229. " the DataTypeSystem.st source file for the method(s) that help the   "
  230. " User with this Class.                                               "
  231. ""
  232. " EXAMPLE:  'myTag <- dataTypeSystem getDTSpecialInfoTag: #DTSIF_NEWSIZE' "
  233. ""
  234. " ALL singleton classes MUST contain the following:                   "
  235. ""
  236. "   the methods:  isSingleton AND privateSetup     AND                "
  237. "                 uniqueInstance Class instance variable.             "
  238. " ------------------------------------------------------------------- "
  239.  
  240. Class DTSpecialInfoTags :Dictionary ! uniqueInstance !
  241. [
  242.    isSingleton
  243.      ^ true  
  244. |  
  245.    privateNew ! newinstance !
  246.      newinstance <- super new.
  247.  
  248.      ^ newinstance
  249. |
  250.    new
  251.      ^ self privateSetup
  252. |
  253.    privateSetup
  254.      (uniqueInstance isNil)
  255.        ifTrue: [uniqueInstance <- self privateNew.
  256.  
  257.                 "Object is in layout processing:"
  258.                 self at: #DTSIF_LAYOUT     put: 1.
  259.  
  260.                 "Object needs to be lain-out:"
  261.                 self at: #DTSIF_NEWSIZE    put: 2.
  262.  
  263.                 self at: #DTSIF_DRAGGING   put: 4.
  264.                 self at: #DTSIF_DRAGSELECT put: 8.
  265.                 self at: #DTSIF_HIGHLIGHT  put: 16r10.
  266.  
  267.                 "Object is being printed:"
  268.                 self at: #DTSIF_PRINTING   put: 16r20.
  269.  
  270.                 "Object is in layout process:"
  271.                 self at: #DTSIF_LAYOUTPROC put: 16r40
  272.                ].
  273.                
  274.      ^ self    "or ^ uniqueInstance??"
  275. ]
  276.  
  277. " ------------------------------------------------------------------- "
  278. " DTMethodTags Class is a Singleton class that allows the user        "
  279. " to reference DataType Method tags' hexadecimal values.              "
  280. ""
  281. " The User does NOT need to create one of these, since DataTypeSystem "
  282. " Class will instantiate the only needed instance of this Class.  See "
  283. " the DataTypeSystem.st source file for the method(s) that help the   "
  284. " User with this Class.                                               "
  285. ""
  286. "  EXAMPLE:  'myTag <- dataTypeSystem getDTMethodTag: #DTM_FRAMEBOX'  "
  287. ""
  288. " ALL singleton classes MUST contain the following:                   "
  289. ""
  290. "   the methods:  isSingleton AND privateSetup     AND                "
  291. "                 uniqueInstance Class instance variable.             "
  292. " ------------------------------------------------------------------- "
  293.  
  294. Class DTMethodTags :Dictionary ! uniqueInstance !
  295. [
  296.    isSingleton
  297.      ^ true  
  298. |  
  299.    privateNew ! newinstance !
  300.      newinstance <- super new.
  301.  
  302.      ^ newinstance
  303. |
  304.    new
  305.      ^ self privateSetup
  306. |
  307.    privateSetup
  308.      (uniqueInstance isNil)
  309.        ifTrue: [uniqueInstance <- self privateNew.
  310.  
  311.                 self at: #DTM_Dummy           put: 16r600.
  312.  
  313.                 "Inquire what environment an object requires:"
  314.                 self at: #DTM_FRAMEBOX        put: 16r601.
  315.  
  316.                 "Same as GM_LAYOUT except guaranteed to be on a process:"
  317.                 self at: #DTM_PROCLAYOUT      put: 16r602.
  318.  
  319.                 "Layout that is occurring on a process:"
  320.                 self at: #DTM_ASYNCLAYOUT     put: 16r603.
  321.  
  322.                 "When a RemoveDTObject() is called:"
  323.                 self at: #DTM_REMOVEDTOBJECT  put: 16r604.
  324.  
  325.                 self at: #DTM_SELECT          put: 16r605.
  326.                 self at: #DTM_CLEARSELECTED   put: 16r606.
  327.  
  328.                 self at: #DTM_COPY            put: 16r607.
  329.                 self at: #DTM_PRINT           put: 16r608.
  330.                 self at: #DTM_ABORTPRINT      put: 16r609.
  331.  
  332.                 self at: #DTM_NEWMEMBER       put: 16r610.
  333.                 self at: #DTM_DISPOSEMEMBER   put: 16r611.
  334.  
  335.                 self at: #DTM_GOTO            put: 16r630.
  336.                 self at: #DTM_TRIGGER         put: 16r631.
  337.  
  338.                 self at: #DTM_OBTAINDRAWINFO  put: 16r640.
  339.                 self at: #DTM_DRAW            put: 16r641.
  340.                 self at: #DTM_RELEASEDRAWINFO put: 16r642.
  341.                 self at: #DTM_WRITE           put: 16r650
  342.                ].
  343.                
  344.      ^ self    "or ^ uniqueInstance??"
  345. ]
  346.  
  347. " ------------------------------------------------------------------- "
  348. " DTFrameInfoTags Class is a Singleton class that allows the user     "
  349. " to reference DataType FrameInfo tags' hexadecimal values.           "
  350. ""
  351. " The User does NOT need to create one of these, since DataTypeSystem "
  352. " Class will instantiate the only needed instance of this Class.  See "
  353. " the DataTypeSystem.st source file for the method(s) that help the   "
  354. " User with this Class.                                               "
  355. ""
  356. " EXAMPLE: 'myTag <- dataTypeSystem getDTFrameInfoTag: #FIF_SCALABLE' "
  357. ""
  358. " ALL singleton classes MUST contain the following:                   "
  359. ""
  360. "   the methods:  isSingleton AND privateSetup     AND                "
  361. "                 uniqueInstance Class instance variable.             "
  362. " ------------------------------------------------------------------- "
  363.  
  364. Class DTFrameInfoTags :Dictionary ! uniqueInstance !
  365. [
  366.    isSingleton
  367.      ^ true  
  368. |  
  369.    privateNew ! newinstance !
  370.      newinstance <- super new.
  371.  
  372.      ^ newinstance
  373. |
  374.    new
  375.      ^ self privateSetup
  376. |
  377.    privateSetup
  378.      (uniqueInstance isNil)
  379.        ifTrue: [uniqueInstance <- self privateNew.
  380.  
  381.                 self at: #FIF_SCALABLE   put: 1.
  382.                 self at: #FIF_SCROLLABLE put: 2.
  383.                 self at: #FIF_REMAPPABLE put: 4
  384.                ].
  385.                
  386.      ^ self    "or ^ uniqueInstance??"
  387. ]
  388.  
  389. " ------------------------------------------------------------------- "
  390. " BasicDataTypeTags Class is a Singleton class that allows the user   "
  391. " to reference Basic DataType tags' hexadecimal values.               "
  392. ""
  393. " The User does NOT need to create one of these, since DataTypeSystem "
  394. " Class will instantiate the only needed instance of this Class.  See "
  395. " the DataTypeSystem.st source file for the method(s) that help the   "
  396. " User with this Class.                                               "
  397. ""
  398. "  EXAMPLE:  'myTag <- dataTypeSystem getBasicDTTag: #DTF_BINARY'     "
  399. ""
  400. " ALL singleton classes MUST contain the following:                   "
  401. ""
  402. "   the methods:  isSingleton AND privateSetup     AND                "
  403. "                 uniqueInstance Class instance variable.             "
  404. " ------------------------------------------------------------------- "
  405.  
  406. Class BasicDataTypeTags :Dictionary ! uniqueInstance !
  407. [
  408.    isSingleton
  409.      ^ true  
  410. |  
  411.    privateNew ! newinstance !
  412.      newinstance <- super new.
  413.  
  414.      ^ newinstance
  415. |
  416.    new
  417.      ^ self privateSetup
  418. |
  419.    privateSetup
  420.      (uniqueInstance isNil)
  421.        ifTrue: [uniqueInstance <- self privateNew.
  422.  
  423.                 self at: #DTF_TYPE_MASK put: 16r000F.
  424.                 self at: #DTF_BINARY    put: 0.
  425.                 self at: #DTF_ASCII     put: 1.
  426.                 self at: #DTF_IFF       put: 2.
  427.                 self at: #DTF_MISC      put: 3.
  428.  
  429.                 "Set if case is important:"
  430.                 self at: #DTF_CASE      put: 16r10.
  431.  
  432.                 "Reserved for system use:"
  433.                 self at: #DTF_SYSTEM1   put: 16r1000
  434.                ].
  435.                
  436.      ^ self    "or ^ uniqueInstance??"
  437. ]
  438.  
  439. " ------------------------------------------------------------------- "
  440. " DataTypeToolTags Class is a Singleton class that allows the user    "
  441. " to reference DataType Tool tags' hexadecimal values.                "
  442. ""
  443. " The User does NOT need to create one of these, since DataTypeSystem "
  444. " Class will instantiate the only needed instance of this Class.  See "
  445. " the DataTypeSystem.st source file for the method(s) that help the   "
  446. " User with this Class.                                               "
  447. ""
  448. "  EXAMPLE:  'myTag <- dataTypeSystem getDTToolTag: #TW_PRINT'        "
  449. ""
  450. " ALL singleton classes MUST contain the following:                   "
  451. ""
  452. "   the methods:  isSingleton AND privateSetup     AND                "
  453. "                 uniqueInstance Class instance variable.             "
  454. " ------------------------------------------------------------------- "
  455.  
  456. Class DataTypeToolTags :Dictionary ! uniqueInstance !
  457. [
  458.    isSingleton
  459.      ^ true  
  460. |  
  461.    privateNew ! newinstance !
  462.      newinstance <- super new.
  463.  
  464.      ^ newinstance
  465. |
  466.    new
  467.      ^ self privateSetup
  468. |
  469.    privateSetup
  470.      (uniqueInstance isNil)
  471.        ifTrue: [uniqueInstance <- self privateNew.
  472.  
  473.                 "defines for tn_Which:"
  474.                 self at: #TW_INFO       put: 1.
  475.                 self at: #TW_BROWSE     put: 2.
  476.                 self at: #TW_EDIT       put: 3.
  477.                 self at: #TW_PRINT      put: 4.
  478.                 self at: #TW_MAIL       put: 5.
  479.  
  480.                 "defines for tn_Flags:"
  481.  
  482.                 self at: #TF_LAUNCH_MASK put: 16r000F.
  483.                 self at: #TF_SHELL       put: 16r0001.
  484.                 self at: #TF_WORKBENCH   put: 16r0002.
  485.                 self at: #TF_RX          put: 16r0003
  486.                ].
  487.                
  488.      ^ self    "or ^ uniqueInstance??"
  489. ]
  490.  
  491. " ------------------------------------------------------------------- "
  492. " DataTypeErrorTags Class is a Singleton class that allows the user   "
  493. " to reference DataType Error tags' hexadecimal values.               "
  494. ""
  495. " The User does NOT need to create one of these, since DataTypeSystem "
  496. " Class will instantiate the only needed instance of this Class.  See "
  497. " the DataTypeSystem.st source file for the method(s) that help the   "
  498. " User with this Class.                                               "
  499. ""
  500. " EXAMPLE: 'myTag <- dataTypeSystem getDTErrorTag: #DTERROR_COULDNT_SAVE' "
  501. ""
  502. " ALL singleton classes MUST contain the following:                   "
  503. ""
  504. "   the methods:  isSingleton AND privateSetup     AND                "
  505. "                 uniqueInstance Class instance variable.             "
  506. " ------------------------------------------------------------------- "
  507.  
  508. Class DataTypeErrorTags :Dictionary ! uniqueInstance !
  509. [
  510.    isSingleton
  511.      ^ true  
  512. |  
  513.    privateNew ! newinstance !
  514.      newinstance <- super new.
  515.  
  516.      ^ newinstance
  517. |
  518.    new
  519.      ^ self privateSetup
  520. |
  521.    privateSetup
  522.      (uniqueInstance isNil)
  523.        ifTrue: [uniqueInstance <- self privateNew.
  524.  
  525.                 "Text ID's:"
  526.                 self at: #DTERROR_UNKNOWN_DATATYPE       put: 2000.
  527.                 self at: #DTERROR_COULDNT_SAVE           put: 2001.
  528.                 self at: #DTERROR_COULDNT_OPEN           put: 2002.
  529.                 self at: #DTERROR_COULDNT_SEND_MESSAGE   put: 2003.
  530.  
  531.                 "New for V40:"
  532.                 self at: #DTERROR_COULDNT_OPEN_CLIPBOARD put: 2004.
  533.                 self at: #DTERROR_Reserved               put: 2005.
  534.                 self at: #DTERROR_UNKNOWN_COMPRESSION    put: 2006.
  535.                 self at: #DTERROR_NOT_ENOUGH_DATA        put: 2007.
  536.                 self at: #DTERROR_INVALID_DATA           put: 2008.
  537.  
  538.                 "New for V44:"
  539.                 self at: #DTERROR_NOT_AVAILABLE          put: 2009.
  540.  
  541.                 "Offset for types:"
  542.                 self at: #DTMSG_TYPE_OFFSET              put: 2100
  543.                ].
  544.                
  545.      ^ self    "or ^ uniqueInstance??"
  546. ]
  547.  
  548. " ------------------------------------------------------------------- "
  549. " DTSystemTags Class is a Singleton class that allows the user        "
  550. " to reference DataType System tags' hexadecimal values.              "
  551. ""
  552. " The User does NOT need to create one of these, since DataTypeSystem "
  553. " Class will instantiate the only needed instance of this Class.  See "
  554. " the DataTypeSystem.st source file for the method(s) that help the   "
  555. " User with this Class.                                               "
  556. ""
  557. "  EXAMPLE:  'myTag <- dataTypeSystem getDTSystemTag: #STM_PLAY'      "
  558. ""
  559. " ALL singleton classes MUST contain the following:                   "
  560. ""
  561. "   the methods:  isSingleton AND privateSetup     AND                "
  562. "                 uniqueInstance Class instance variable.             "
  563. " ------------------------------------------------------------------- "
  564.  
  565. Class DTSystemTags :Dictionary ! uniqueInstance !
  566. [
  567.    isSingleton
  568.      ^ true  
  569. |  
  570.    privateNew ! newinstance !
  571.      newinstance <- super new.
  572.  
  573.      ^ newinstance
  574. |
  575.    new
  576.      ^ self privateSetup
  577. |
  578.    privateSetup
  579.      (uniqueInstance isNil)
  580.        ifTrue: [uniqueInstance <- self privateNew.
  581.  
  582.                 self at: #STM_PAUSE          put: 1.
  583.                 self at: #STM_PLAY           put: 2.
  584.                 self at: #STM_CONTENTS       put: 3.
  585.                 self at: #STM_INDEX          put: 4.
  586.                 self at: #STM_RETRACE        put: 5.
  587.                 self at: #STM_BROWSE_PREV    put: 6.
  588.                 self at: #STM_BROWSE_NEXT    put: 7.
  589.                 self at: #STM_NEXT_FIELD     put: 8.
  590.                 self at: #STM_PREV_FIELD     put: 9.
  591.                 self at: #STM_ACTIVATE_FIELD put: 10.
  592.                 self at: #STM_COMMAND        put: 11.
  593.  
  594.                 "New for V40:"
  595.                 self at: #STM_REWIND         put: 12.
  596.                 self at: #STM_FASTFORWARD    put: 13.
  597.                 self at: #STM_STOP           put: 14.
  598.                 self at: #STM_RESUME         put: 15.
  599.                 self at: #STM_LOCATE         put: 16
  600.                ].
  601.                
  602.      ^ self    "or ^ uniqueInstance??"
  603. ]
  604.